package cn.dxh.stagefinal.utils;

import org.apache.shiro.crypto.hash.SimpleHash;

/**
 * 2019/12/11 15:53
 *
 * @author Wenhao Lee
 * 心向远方，不负厚望。
 */
public class MD5Util {

    /**
     * 通过循环来随机生成一组盐值
     *
     * @return 最后生成的盐值
     */
    public synchronized static String createSalt() {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < 7; i++) {
            char c = (char) (Math.random() * 26 + 'a');
            stringBuilder.append(c);
        }
        return stringBuilder.toString();
    }

    /**
     * 生成一个加密以后的密码
     *
     * @param password 加密前的密码
     * @param salt     盐值
     * @return 加密后的密码
     */
    public synchronized static String createPassword(String password, String salt) {
        return new SimpleHash("MD5", password, salt, 1).toString();
    }

}
